package cn.edu.fzu.delivery.mapper;

import cn.edu.fzu.delivery.domain.entity.Customer;
import cn.edu.fzu.delivery.domain.enums.SexEnum;
import cn.edu.fzu.delivery.domain.enums.UserStatusEnum;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 顾客表
 * 
 * @author fangxin
 * @date 2022/11/9
 */
public interface CustomerMapper {

    /** 根据手机号查询顾客 **/
    Customer getByPhone(@Param("phone") String phone);


    /** 根据邮箱查询顾客 **/
    Customer getByEmail(@Param("email") String email);


    /** 新增顾客 **/
    void insert(@Param("email") String email, @Param("password") String password, @Param("name") String name,
                @Param("sex") SexEnum sex, @Param("birth") String birth, @Param("phone") String phone,
                @Param("imageUrl") String imageUrl, @Param("status") UserStatusEnum status);


    /** 修改顾客 **/
    void update(@Param("id") Long id, @Param("password") String password, @Param("name") String name,
                @Param("sex") SexEnum sex, @Param("birth") String birth, @Param("phone") String phone,
                @Param("imageUrl") String imageUrl, @Param("status") UserStatusEnum status);

    /**
     * 查询顾客
     */
    List<Customer> list(@Param("name") String name, @Param("email") String email, @Param("sex") SexEnum sex, @Param("phone") String phone,
                        @Param("status") UserStatusEnum status);
}
